export const myVueDebounce = (app: any) => {
    // 全局防抖指令（优化后）
    app.directive('debounce', {
        mounted(el: any, binding: any) {
            let timer: any = null;// 定时器
            const { delay = 500, handler } = typeof binding.value === 'function' // 函数形式的处理
                ? { handler: binding.value } // 解构赋值
                : binding.value;// 对象形式的处理
            // 使用普通函数保留 this 指向 el
            el.addEventListener('click', function (this: any, ...args: any[]) {
                if (timer) clearTimeout(timer);
                timer = setTimeout(() => {
                    handler.apply(this, args); // 传递正确的 this 和参数
                }, delay);
            });
        }
    })
}